home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d8 / thelp.arc / THELP.SLT < prev    next >
Text File  |  1991-05-03  |  2KB  |  61 lines

  1. //  HELP.SLT
  2. //  This demonstrates a full 24 line help screen that covers all available
  3. //  screen space on Telix.  Create your own custom help screen and change
  4. //  fname to call it.
  5.  
  6. str buf[3840];    //  array to store screen in - 24 lines by 160 per line
  7.                   //  including char and attribute
  8.  
  9. main()
  10.  
  11. {
  12.    int f,x,cx,cy;
  13.    str s[100];
  14.    str fname[67] = "cis.hlp";  // name of help screen file
  15.    // if you include the full-path name, you will be able to access this
  16.    // from any directory
  17.  
  18.    int color = 14;   // change this to suit your tastes
  19.    int c=0;   //  column position to start
  20.    int r=0;   //  row position to start
  21.  
  22.    int lines=24;  //  number of lines of text in file
  23.  
  24.    cy = gety();      //     get current cursor position (x and y)
  25.    cx = getx();
  26.    cursor_onoff(0);  //     turn cursor off
  27.  
  28.    for (x=r;x<lines+r;x = x + 1)       // save screen into array
  29.       vgetchrsa(0, x, buf,(x*160), 80);  // saves whole row into array
  30.  
  31.    x = r;
  32.    f = fopen(fname, "r");   // open file name to put on screen
  33.    if (ferror(f))
  34.    {
  35.       prints("Error opening file for reading ( File should be in Telix DIR )" );
  36.       // include the full path name to avoid this error
  37.    }
  38.    else
  39.    {
  40.       while (1)         // displays contents of text file
  41.       {
  42.          fgets(s, 100, f);
  43.          if( feof(f) )
  44.              break;
  45.          pstraxy( s, c, x, color);
  46.          x = x + 1;
  47.       }
  48.    }
  49.    fclose(f);
  50.  
  51.    x = inkeyw();  //   if key = Esc, restore screen, otherwise leave
  52.    if (x == 27)  //     help screen intact while in terminal mode
  53.        for (x=r;x<lines+r;x = x + 1)
  54.            vputchrsa( 0, x, buf, (x*160), 80 );
  55.  
  56. //   prints();
  57.    cursor_onoff(1);  // turn cursor back on
  58.    gotoxy(cx,cy);    // restore cursor to its postion
  59. }
  60.  
  61.